package com.tengfei.main.course.domain.bo;


import com.tengfei.common.core.validate.AddGroup;
import com.tengfei.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 课程业务对象 cs_course
 *
 * @author ruoyi
 * @date 2022-07-27
 */

@Data
@ApiModel("课程业务对象")
public class CourseBo  {

    /**
     * 课程id
     */
    @ApiModelProperty(value = "课程id")
    @NotNull(message = "课程d不能为空",groups = {EditGroup.class})
    private Long courseId;

    /**
     * 课程标题
     */
    @ApiModelProperty(value = "课程标题", required = true)
    @NotBlank(message = "课程标题不能为空", groups = { AddGroup.class, EditGroup.class })
    private String courseTitle;

    /**
     * 课程描述
     */
    @ApiModelProperty(value = "课程描述")
    private String courseDesc;

    /**
     * 课程封面
     */
    @ApiModelProperty(value = "课程封面")
    private String courseCover;

    /**
     * 课程标签
     */
    @ApiModelProperty(value = "课程标签")
    private String courseFlag;

    /**
     * 开课时间
     */
    @ApiModelProperty(value = "开课时间", required = true)
    @NotNull(message = "开课时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date courseBeginDate;

    /**
     * 结课时间
     */
    @ApiModelProperty(value = "结课时间", required = true)
    @NotNull(message = "结课时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date courseEndDate;

    /**
     * 是否开课（0:未开课,1:已开课,2:已结课）
     */
    @ApiModelProperty(value = "是否开课（0:未开课,1:已开课,2:已结课）", required = true)
    @NotNull(message = "是否开课（0:未开课,1:已开课,2:已结课）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer courseIsBegin;

    /**
     * 是否公开（0:不公开,1:公开）
     */
    @ApiModelProperty(value = "是否公开（0:不公开,1:公开）", required = true)
    @NotNull(message = "是否公开（0:不公开,1:公开）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer courseIsPublic;

    @ApiModelProperty(value = "搜索值")
    private String searchValue;


}
